package com.sdry.service.llm;

import java.util.List;
import java.util.Map;

import com.sdry.model.llm.Permission;
import com.sdry.model.llm.Role;
import com.sdry.model.llm.TreeBean;
import com.sdry.model.llm.User;

/** 
* 角色service
* @author lian 
* @version 1.0
* @time 2018年10月17日 上午12:52:15
*/
public interface RoleService {

	/**
	 * 获取角色总数
	 * @param role 角色信息实体类
	 */
	int countRole(Role role);

	/**
	 * 分页查询角色信息
	 * @param map 查询条件集合
	 */
	List<Role> listPageRole(Map<String, Object> map);

	/**
	 * 保存角色信息
	 * @param role 角色信息实体类
	 */
	int insertRole(Role role);

	/**
	 * 修改角色信息
	 * @param role 角色信息实体类
	 */
	int updateRole(Role role);

	/**
	 * 删除角色
	 * @param str rid组成的字符串
	 */
	int deleteRole(String str);

	/**
	 * 根据角色ID获取权限(权限树格式)
	 * @param rid 角色ID
	 * @return
	 */
	List<TreeBean> getPermissionTree(Long rid);

	/**
	 * 角色授权
	 * @param pids 权限ID组成的字符串
	 * @param response
	 */
	int accreditUser(String pids, String rid);

	/**
	 * 获取所有权限信息
	 * return
	 */
	List<Permission> findAllPermission();

	/**
	 * 根据角色ID获取权限(数据库表形式)
	 * @param rid 角色ID
	 * return
	 */
	List<Permission> getPermissionByRole(long rid);

	/**
	 * 校验是否删除角色
	 * @param str
	 * @return
	 */
	int deleteRoleOfVerify(String str);


}
